Conventional speech processing systems commonly employ a speech recognition module which transforms input signals representing speech utterances into discrete representations that are compared to stored digital representations (templates) of expected words or speech sound units. The input speech signals are "recognized" usually by using a statistical algorithm to measure and detect a match to a corresponding word or sound template. Speech processing systems and algorithms are usually designed for one or more particular modes of operation, e.g., speaker-dependent or independent speech recognition, text- or application-dependent or independent speech recognition, speaker verification (authentication of identity), speaker recognition (selection from a number of candidates), or speaker monitoring (identity, direction, etc.). The design of such systems can vary widely with the application, speaker vocabulary, syntax, or environment of use.
Over the past several years, speech processing technology has achieved a level of performance sufficient to admit the introduction of successful commercial products. Development work continues to further improve the accuracy, reduce the vulnerability, and expand the capabilities of such systems. However, progress toward improvement has been limited by the available tools for system and algorithm development.
One factor limiting progress is that error rates have become low enough, for example, in text-dependent speaker verification, that a large test must be performed to ascertain whether an improvement has been made. To illustrate, if the probability of false acceptance is on the order of 1/1000, and the test is designed to observe 30 errors, then 30,000 trials are needed. Performing such a test using a simulation running on a time-sharing computer could take weeks or months. To mitigate this problem, tests may be run using a fast special-purpose hardware implementation of the recognition algorithm. However, this leads to a second problem, i.e. making changes to the algorithm may be very difficult because of the constraints imposed by the hardware or software.
A third important factor is that the recognition system itself influences the user's speaking behavior. This influence is absent if the user's speech input is prerecorded and the user does not have a real-time interaction with the system. The environment in which the system is installed, the details of the user interface, and the feedback of past acceptance or rejection decisions can all affect the user's interaction with the system. Thus, valid testing in the intended environment of use requires a real-time implementation of the recognition algorithm and an accurate simulation of the user interface.